package cn.fl.settlement.service;

import cn.cmm.base.framework.exception.BaseException;
import cn.fl.settle.dto.PaySchMSettleDTO;
import org.springframework.web.servlet.ModelAndView;

/**
* @Description:    结清账单web层service服务
* @Author:         liurong
* @CreateDate:     2020/11/24 10:52
* @Version:        1.0
*/
public interface ISettleBillService {

    /**
     * 检验结清规则并获取结清期次信息
     * @param paySchId
     * @param view
     * @throws BaseException
     */
    void getSettlePdIfCheckPass(Long paySchId, ModelAndView view) throws BaseException;

    /**
     * 获取结清预览数据
     * @param paySchId
     * @param settlePd
     * @param view
     * @throws Exception
     */
    void getSettleDataPreview(Long paySchId, Integer settlePd, ModelAndView view) throws BaseException;

    /**
     * 获取流程附加页面数据
     * @param procId
     * @param view
     * @throws BaseException
     */
    PaySchMSettleDTO getSettleDataFlow(String procId, ModelAndView view) throws BaseException;

    /**
     * 页面刷新结清金额
     * @param paySchId
     * @return
     */
    Double refreshSettleAmt(Long paySchId);

    /**
     * 发起结清流程
     * @param paySchId
     * @param settlePd
     */
    void startFlow(Long paySchId, Integer settlePd);

    /**
     * 查询支付表是否成功发起结清流程
     * @param paySchId
     * @return
     */
    String querySettleStartResult(Long paySchId);
}
